#ifndef RESEAU_H
#define RESEAU_H
#include <string>
#include <iostream>
#include <vector>

class Reseau
{
public:
        Reseau();
        Reseau(int nid,std::string nomFournisseur, std::string dateDeploiement, int capaciteReseau);
        Reseau(const Reseau& reseau);
		virtual ~Reseau();
        int getNid() const;
		void setNid(int nid);
		std::string getNomFournisseur() const;
		void setNomFournisseur(std::string nomFournisseur);
		std::string getDateDeploiement() const;
		void setDateDeploiement(std::string dateDeploiement);
		double getCapaciteReseau() const;
		void setCapaciteReseau(double capacite);
		virtual void  affiche() const=0 ;
		virtual double calculerCapacite() const;
		virtual void ajouterMessage(std::string message);
		virtual double etendreCapacite(double capaciteAdditionnelle);
		Reseau& operator=(const Reseau& reseau);
		bool operator==(const Reseau& reseau);

protected:
		double capaciteReseau_;
		std::vector<std::string> vMessages_; 
		
private :
        int nid_;
		std::string nomFournisseur_;
		std::string dateDeploiement_;		
};
#endif // RESEAU_H
